/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package dawnland02.model.entity;

import dawnland02.data.map.model.MatrixCell;
import dawnland02.data.map.model.MatrixDirection;
import dawnland02.model.entity.attribute.PhysicalAttribute;
import javafx.async.RunnableFuture;

import dawnland02.model.quest.QuestObserver;
import java.util.Map;

/**
 *
 * @author user
 */
public interface Entity extends RunnableFuture, QuestObserver{
    Integer getId();

    Integer getX();

    Integer getY();

    MatrixCell getMatrixCell();

    MatrixDirection getDirection();

    Map<PhysicalAttribute, Double> getPhysicalAttributes();

    Double getPhysicalAttribute(PhysicalAttribute physicalAttribute);

    UIEntityActionHandler getUIEntityActionHandler();

    void setUIEntityActionHandler(UIEntityActionHandler uiEntityActionHandler);
}
